// 导入axios模块
import axios from 'axios'
// getToken, removeToken
// import { getToken, removeToken } from '@/utils/auth'

class Http {
  constructor() {
    this.axios = axios.create({
      baseURL: 'http://127.0.0.1:8080',
      timeout: 20000,
      // headers: {
      //   'Authorization': getToken()
      // }
    })

    // 响应拦截器
    this.axios.interceptors.response.use(res => {
      // 响应成功的回调函数
      // console.log(res.data)
      if (res.data.status === 200) {
        return res.data
      } else {
        return Promise.reject(new Error(res.data.message) || '获取失败')
      }
    }, err => {
      // 效应失败的回调函数
      // console.log(err)
      return Promise.reject(err)
    })
  }

  request({ url, method = 'GET', params = {}, data = {}, headers = {}}) {
    if (!url) return Promise.reject(new Error('参数'))
    // console.log(url, method, params, data)
    return this.axios({
      url,
      method,
      params,
      data,
      headers
    })
  }
}

export {
  Http
}
